/* 埋点相关 */
import { createESGdcModule } from '@extscreen/es3-shanxi-gdc'
import { jumpParams, mediaPlayParams, orderParams } from './probe.d'

const gdcModule = createESGdcModule()

// 初始化参数
const initParams = {
  userId: '', // 用户 Id
  cpName: '杭州智娱信息科技有限公司', // 合作方名称
  cpCode: '800024', // 合作方 Code
  apkPackage: 'com.zhiyu.tv.fastapp.aimxd.shanxiyd', // 应用包名
  apkName: 'aimxd', // 应用名称
  apkVersion: '1.0.0', // 应用版本
  debugModel: true, // 是否开启 log 打印
  // 非必填
  //   recommendPosition: 'recommendPosition', // 推荐位位置信息
  //   adPosition: 'adPosition', // 广告位置信息
  partnerCode: 'SAXYD' // 合作伙伴标识
  //   appType: 'SDK', // 应用所属形态  SDK,FAST_APP
}

async function init(callback) {
  // 获取用户id
  const uid = await localStorage.getString('userId', '')
  //   console.log('555 uid >>>', uid)
  initParams.userId = uid
  //   console.log('555 initParams >>>', JSON.stringify(initParams))
  gdcModule.initBase(initParams)

  callback()
  //   console.log(JSON.stringify(initRes), '555 initRes >>>>')
}

// 启动 app
function startApp() {
  console.log('startApp >>>')
  gdcModule.startApp()
}

// 退出 app
function exitApp() {
  console.log('exitApp >>>')
  gdcModule.exitApp()
}

// 退出 app
async function jump(data: jumpParams) {
  console.log('埋点 >>>', data)
  await gdcModule.jump(data)
}

// 设置当前播放信息
async function setVideoInfo(params: mediaPlayParams) {
  console.log('埋点 mediaPlayParams >>>', params)
  await gdcModule.setVideoInfo(params)
}

// 播放开始
function start() {
  console.log('埋点 start Play >>>')
  gdcModule.start()
}

// 播放开始
function stop() {
  console.log('埋点 stop Play >>>')
  gdcModule.stop()
}

// 播放完成
function onCompletion() {
  console.log('埋点 finish Play >>>')
  gdcModule.onCompletion()
}

// 订购
async function order(params: orderParams) {
  console.log('埋点 orderParams >>>', params)
  await gdcModule.order(params)
}

const probe = {
  init,
  startApp,
  exitApp,
  jump,
  setVideoInfo,
  start,
  stop,
  onCompletion,
  order
}

export { probe }
